<?php

 if (!defined('BASEPATH'))
     exit('No esta permitido el acceso directo');

 /**
  * Clase que controla las acciones del objeto Profesor
  * @author	Jonathan Ruiz
  * @link	http://localhost/siacomm/index.php/profesor
  *
  */
 class Profesor extends CI_Controller {



     public function __construct() {
         parent::__construct();
         $this->load->helper('url');

     }




     public function index() {
         redirect(site_url("jefatura"));

     }




     public function registrar() {
         $this->load->helper('form');
         $this->load->library('form_validation');
         $this->load->library('utils/fecha');
         $form_valido = FALSE;


         // Si es que se realiza un envío (presionar submit)
         if ($_POST)
             $form_valido = $this->validaciones();

         // Si ocurrio algun error de validación regresamos al formulario
         if (!$form_valido) {
             $data = array(
                       'titulo' => 'Registro de profesores',
                       'fecha' => $this->fecha->getFecha(),
                       'menu' => 'menu_jefatura',
                       'controlador_cliente' => 'profesor_registro',
                       'contenido' => 'jefatura/profesor/profesor_registrar'
             );
             $this->load->view('plantilla/plantilla_unam', $data);
         }  else {
             $this->intentar_registrar();
         }
         
             

     }




     private function validaciones() {

         // Validaciones generales
         $this->form_validation->set_rules('profesor_nombre', 'Nombre', 'required|trim|xss_clean');
         $this->form_validation->set_rules('profesor_apellidos', 'Apellidos', 'required|trim|xss_clean');
         $this->form_validation->set_rules('profesor_correoElectronico', 'Correo Electrónico', 'required|valid_email|trim|xss_clean');
         $this->form_validation->set_rules('profesor_fecha_nacimiento', 'Fecha de Nacimiento', 'trim|xss_clean');
         $this->form_validation->set_rules('profesor_gradoAcademico', 'Grado Académico', 'required|trim|xss_clean');
         $this->form_validation->set_rules('profesor_telefono', 'Teléfono', 'required|numeric|trim|xss_clean');
         $this->form_validation->set_rules('profesor_password', 'Password', 'required|min_length[5]|trim|xss_clean');
         $this->form_validation->set_rules('profesor_perfil', 'Perfil', 'max_length[255]|trim|xss_clean');

         // Formato de wrapper para los mensajes de error
         $this->form_validation->set_error_delimiters('<div class="error_form_validation">', '</div>');

         // Personalización de mensajes
         $this->form_validation->set_message('required', 'Debe introducir el campo %s');
         $this->form_validation->set_message('alpha', 'El campo %s no admite caracteres numericos');
         $this->form_validation->set_message('min_length', 'El campo %s debe ser de por lo menos %s caracteres');
         $this->form_validation->set_message('exact_length', 'El campo %s debe tener exactamente %s caracteres');
         $this->form_validation->set_message('valid_email', 'Debe escribir un formato de correo v&aacute;lido');
         $this->form_validation->set_message('numeric', 'Debe introducir solo numeros en el campo %s');
         $this->form_validation->set_message('integer', 'Debe introducir solo numeros en el campo %s');
         $this->form_validation->set_message('matches', 'Los emails no son iguales');

         // Retorno el resultado de la validación
         return $this->form_validation->run();

     }




     private function intentar_registrar() {
         // Si no existe ningún envio por POST redireccionamos
         if (!$_POST)
             redirect(site_url("profesor/registrar"));

         // Carga dek nideki
         $this->load->model('model_profesor');

         // Se intenta registrar
         if ($this->model_profesor->registrar()) {
             redirect(site_url("jefatura"));
         } else {
             // En caso de un error OJO muestra mensaje error de MySQL
             show_error($this->model_profesor->get_errormensaje(), 500, $this->model_profesor->get_errorcodigo());
         }

     }




     /**
      * M�todo que muestra el formulario de registro de profesor
      * @author	Jonathan Ruiz
      * @link	http://localhost/siacomm/index.php/profesor/registro

       public function registro() {
       $data = array(
       'titulo' => 'Registro de profesores',
       'fecha' => $this->fecha->getFecha(),
       'menu' => 'menu_inicio',
       'controlador_cliente' => 'profesor_registro',
       'main_content' => 'forms/profesor_registro'
       );

       $this->load->view('template_general', $data);
       }

       /**
      * M�todo que guarda un profesor
      * @author	Jonathan Ruiz
      * @link	http://localhost/siacomm/index.php/profesor/guardar

       public function guardar() {
       $resultado = $this->validar();

       if(!$resultado["codigo"]){
       $this->load->database();
       $this->load->model('Model_profesor');
       $this->Model_profesor->insert_entry();
       $this->db->close();
       }

       echo json_encode($resultado);

       }

       /**
      * M�todo que valida los datos de registro
      * @author	Jonathan Ruiz

       private function validar() {
       $resultado = array(
       "codigo" => "0",
       "mensaje" => "Profesor agregado con &eacute;xito"
       );

       $this->load->library('form_validation');

       if(!$this->form_validation->valid_email($_POST['email_profesor'])){
       $resultado["codigo"] = "07001";
       $resultado["mensaje"] = "No es valida la direcci&oacute;n de correo electr&oacute;nico";
       }

       return $resultado;
       } */
 }

 /* End of file profesor.php */
/* Location: ./application/controllers/profesor.php */
